Database basics: writing a SQL database from scratch in Go